.nmsckb + label {
	background-color: #FFF;
	border: 1px solid #D3CFC8;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05), inset 0px -15px 10px -12px rgba(0, 0, 0, 0.05);
	padding: 9px;
	border-radius: 5px;
	display: inline-block;
	overflow: hidden;
	position: relative;
	margin-bottom: 0px;
}

.nmsckb + label:active {
	box-shadow: 0 1px 2px rgba(0,0,0,0.05), inset 0px 1px 3px rgba(0,0,0,0.1);
}

.nmsckb:checked + label {
	background-color: #dbeeff;
	border: 1px solid #2489C5;
	box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05), 
	inset 0px -15px 10px -12px rgba(0, 0, 0, 0.05), inset 15px 10px -12px rgba(255, 255, 255, 0.1);
}

.nmsckb + label:after {
	position: absolute;
	top: 99px;
	-webkit-transition: all 0.3s linear;
	transition: all 0.3s linear;	
	content: '\2713';
	color: #947975;
	width: 100%;
	text-align: center;
	font-size: 1.4em;
	padding: 1px 0 0 0;
	left: 0px;
}

.nmsckb:checked + label:after {
	top: 0px;
}

.nmsCheckboxM + label {
	width: 10px;
	height: 10px;
}

.nmsCheckboxL+label {
	width: 20px;
	height: 20px;
}

.nmsCheckboxM:checked + label:after {
	left: 0px;
	padding: 6px 0 0 0;
}

.nmsCheckboxL:checked + label:after {
	left: 0px;
	top: 2px;
	padding: 9px 0 0 0;
}

.nmsckb {
	display: none;
}

.nmsckb + label {
	cursor: pointer;
	font-size: 62.5%;
}

.nmsckb:disabled + label {
	cursor:not-allowed;
	border: 1px solid #DDD;
	background-color: #F5F5F5;
	color: #ACA899;
}